Методичка для первого курса, второй семестр, радиотехнических специальностей.
Язык на котором ведется изложение - С (консольные программы)
Выбранный инструмент - Микрософт Визуал С 2008 Экспресс (бесплатный) русский
(потому что 1)все равно 2) бесплатный 3) русская оболочка )
29 06 2009, Tish:
По поводу инструмента.
Прохожу встроенный туториал. Создание консольного приложения, отладка... Все как по писанному.
Дошли до Развертывание программы (C++). Болт - нет пункта в меню.
Проблема с русской версией: не знаю что смотреть в Интернете!
Поискал поискал... Русскоязычные форумы почти пустые. Как переключиться в англоязычный? Просто поиском по МСДН... Нашел на форумах:
Короче, нет там этого куска. Хуже того - даже если EXEшник сделать то на другой машине он не запустится (даже с установленными NET framework) (я так понял, но надо попробовать)
Можем ли мы без этого жить?
Есть какие то танцы с бубном вместо этого How to: Deploy using XCopy
Нужны ли нам дополнительные танцы?
Подробнее почитайте тут - чего там нет и для чего оно НЕ подходит. VC++ Novice: What's the Visual C++ Express Edition? (типа "при использованиее в учебном процессе готовьтесь к проблемам", список в тексте)
В связи с этим - надо ли оно нам или поищем чего нибудь менее капризное?
Участники - МАТ, ТИГ и Тиш (Tish)
Рабочее название
Основы алгоритмизации
Структура
Описание языка
в минимальном объеме "только чтоб работало", на уровне "поверьте мне на слово, так лучше". За подробностями - в лекции и литературу.
Структура С программы. Пример программы типа "Здравствуй, дерево". Чувствительность к регистру, точки с запятой, скобки и операторные скобки.
все переменные необх объявлять, =>Типы данных (хотя бы какими пользуемся. То есть int long double char void и строка )
Подключение библиотек (заголовочных файлов) - вв/выв и математика. Запись выражений, с граблями (деление нацело, переполн целого)
Пример программы с вводом - выводом. Подробнее о форматном выводе printf. О указателях в scanf.
Операторы управления - ветвление
Циклы
Массивы
Ф-ции. Обр вн на использование указателя чтоб передать значение (брр)
Использование указателя на ф-цию - использование QSORT
Работа со строками
Работа с последов. файлами
(ай много написалось!)
Примеры
разобранные все?? 10 лабораторных работ, на уровне достаточном чтоб разобраться без лекции
для каждой работы:
достаточные элементы теории (?? - или это надо дать в части Описание языка, а здесь дать ссылку на нужные пункты)
постановка задачи
для тех где надо - блок схема (еще не придумали каким инструментом, но лучше бы бесплатным и конечно векторным)
программа на С
Задания
таблицы с индивидуальными заданиями. Штук по 20 минимум (а может и больше, если хватит пороху)
Приложения
все что не влезло в описание но хочется упомянуть ;))
Структура стандартной библиотеки АКА "что где искать"
стандартные (используемые) ф-ции
стандартные грабли при записи арифм выражений
Примерный список лабораторных работ:
( 0.) Работа "Здравствуй дерево" - структура программы, подключение заголовочного файла, описание переменных, ввод/вывод - и вообще набрать программу и заставить ее работать в используемой оболочке
Развтвления
пара вариантов, один - типа графическое задание фции или геометрич задача на попадание точки в область
второй - на множественный выбор (switch)
Табулирование функций одной переменной
туда же идет все про набор формул и хитрости (и грабли) с ними связанные
плюс элементарные операции в цикле - сумма, произв, среднее, счетчик, мин, макс
Массив
Комбинированные операции в цикле - результат получается как, скажем, отношение величин которые надо вычислить отдельно,
причем вычисление величин - это элементарная операция в цикле, но по массиву с наложенным фильтром (типа "только отрицательные")
(Итого задание выглядит примерно как найти "отношение суммы отрицательных к наименьшему положительному")
Табулирование функций двух переменных
здесь усложненные варианты типа найти "сумму для каждого Х" или "наименьшее для каждого Y"
Матрица
здесь работа с элементами матрицы - строками, диагоналями, треугольниками
Подпрограммы1
(~)подпрограмма табулирует ф-цию, мы вызываем ее три раза
Подпрограммы2
Подпрограмма обрабатывающая массивы (?) - мин, макс, сумма, произв. Задача с точками.
Строки
Сортировки (сдвинуто после строк чтоб можно было разнообразить задания)
сортировка пузырьком, выбором и использование библиотечного QSORT'а
Работа с файлами (возможно будет полуобязательным заданием, для "продвинутых")
с последовательными файлами, как с текстом. Варианты:
ввод и обработка массива (расчет)
ввод и обработка массива (сортировка)
ввод и обработка текста (...)
НЕПОНЯТНО
куда девать вещи, ктоторые знать надо, но к лабораторкам которые не привязаны,
в частности:
более полное изложение типов. Включая беззнаковость и создание структур.
указатели (а какой это С без указателей?) Хотя, оно им надо?
Операторы (есть подозрение что все давать не стоит, всякий там битовый сдвиг)
идиомы языка (ясно что "i++" объяснить надо, не ясно когда)
разбиение программы на отдельные единицы компиляции, видимость переменных, external и static
(не уверен что сам это понимаю, и студентам на 1м курсе это не надо точно. А надо будет наверно в 4м семестре, на моделировании)
Язык на котором ведется изложение - С (консольные программы)
Выбранный инструмент - Микрософт Визуал С 2008 Экспресс (бесплатный) русский
(потому что 1)все равно 2) бесплатный 3) русская оболочка )
29 06 2009, Tish:
По поводу инструмента.
Прохожу встроенный туториал. Создание консольного приложения, отладка... Все как по писанному.
Дошли до Развертывание программы (C++). Болт - нет пункта в меню.
Проблема с русской версией: не знаю что смотреть в Интернете!
Поискал поискал... Русскоязычные форумы почти пустые. Как переключиться в англоязычный? Просто поиском по МСДН... Нашел на форумах:
Короче, нет там этого куска. Хуже того - даже если EXEшник сделать то на другой машине он не запустится (даже с установленными NET framework) (я так понял, но надо попробовать)
Можем ли мы без этого жить?
Есть какие то танцы с бубном вместо этого How to: Deploy using XCopy
Нужны ли нам дополнительные танцы?
Подробнее почитайте тут - чего там нет и для чего оно НЕ подходит.
VC++ Novice: What's the Visual C++ Express Edition? (типа "при использованиее в учебном процессе готовьтесь к проблемам", список в тексте)
В связи с этим - надо ли оно нам или поищем чего нибудь менее капризное?
Участники - МАТ, ТИГ и Тиш (Tish)
Рабочее название
Основы алгоритмизации
Структура
- Описание языка
- в минимальном объеме "только чтоб работало", на уровне "поверьте мне на слово, так лучше". За подробностями - в лекции и литературу.
- Структура С программы. Пример программы типа "Здравствуй, дерево". Чувствительность к регистру, точки с запятой, скобки и операторные скобки.
- все переменные необх объявлять, =>Типы данных (хотя бы какими пользуемся. То есть int long double char void и строка )
- Подключение библиотек (заголовочных файлов) - вв/выв и математика. Запись выражений, с граблями (деление нацело, переполн целого)
- Пример программы с вводом - выводом. Подробнее о форматном выводе printf. О указателях в scanf.
- Операторы управления - ветвление
- Циклы
- Массивы
- Ф-ции. Обр вн на использование указателя чтоб передать значение (брр)
- Использование указателя на ф-цию - использование QSORT
- Работа со строками
- Работа с последов. файлами
(ай много написалось!)Примерный список лабораторных работ:
( 0.) Работа "Здравствуй дерево" - структура программы, подключение заголовочного файла, описание переменных, ввод/вывод - и вообще набрать программу и заставить ее работать в используемой оболочкеНЕПОНЯТНО
куда девать вещи, ктоторые знать надо, но к лабораторкам которые не привязаны,в частности:
- более полное изложение типов. Включая беззнаковость и создание структур.
- указатели (а какой это С без указателей?) Хотя, оно им надо?
- Операторы (есть подозрение что все давать не стоит, всякий там битовый сдвиг)
- идиомы языка (ясно что "i++" объяснить надо, не ясно когда)
- разбиение программы на отдельные единицы компиляции, видимость переменных, external и static
(не уверен что сам это понимаю, и студентам на 1м курсе это не надо точно. А надо будет наверно в 4м семестре, на моделировании)